Methods and systems for stitching along a predetermined path

ABSTRACT

Disclosed is a guiding apparatus for use with a machine to facilitate performing an action along a self-guided path on a substrate. The guiding apparatus may include a support member configured to be attached to at least a portion of the machine. Further, the guiding apparatus may include one or more of lighting units, optical sensors, controllers, and user interface components, mounted on the support member, configured to identify an object, obtain position of the object on a substrate and perform an action along a self-guided path in association with that object on the substrate.

RELATED APPLICATIONS

This application claims the following priority benefits under theprovisions of 35 U.S.C. § 119(e):

-   -   U.S. Provisional Application No. 62/347,306, filed Jun. 8, 2016,    -   U.S. Provisional Application No. 62/517,078, filed Jun. 8, 2017,    -   U.S. Provisional Application No. 62/517,080, filed Jun. 8, 2017,    -   U.S. Provisional Application No. 62/517,084, filed Jun. 8, 2017,    -   U.S. Provisional Application No. 62/517,087, filed Jun. 8, 2017,    -   U.S. Provisional Application No. 62/517,091, filed Jun. 8, 2017,        and    -   U.S. Provisional Application No. 62/517,092, filed Jun. 8,2017.

All of the aforementioned applications are incorporated herein byreference, in their entirety.

The following related U.S. Patent Applications, filed on even dateherewith in the name of One Sciences, Inc., assigned to the assignee ofthe present application, are hereby incorporated by reference:

U.S. Provisional Patent Application No. 62/347,306, filed Jun. 8,2016,entitled “METHODS AND SYSTEMS FOR STITCHING ALONG A PREDETERMINED PATH”and referred to herein as the “'306 disclosure”;

-   -   U.S. Provisional Application No. 62/517,078, entitled “AUGMENTED        REALITY SYSTEM FOR STITCHING ALONG A PREDETERMINED PATH” and        referred to herein as “the '078 disclosure”;    -   U.S. Provisional Application No. 62/517,080, entitled “PATCH        LIBRARY SYSTEM FOR STITCHING ALONG A PREDETERMINED PATH” and        referred to herein as “the '080 disclosure”;    -   U.S. Provisional Application No. 62/517,084, entitled “VIRTUAL        LIGHT CURTAIN SYSTEM FOR STITCHING ALONG A PREDETERMINED PATH”        and referred to herein as “the '084 disclosure”;    -   U.S. Provisional Application No. 62/517,087, entitled “TACKING        SYSTEM FOR STITCHING ALONG A PREDETERMINED PATH” and referred to        herein as “the '087 disclosure”;    -   U.S. Provisional Application No. 62/517,091, entitled        “3-DIMENSIONAL VISION SYSTEM FOR STITCHING ALONG A PREDETERMINED        PATH” and referred to herein as “the '091 disclosure”; and    -   U.S. Provisional Application No. 62/517,092, entitled        “MULTI-PATCH MULTI-VIEW SYSTEM FOR STITCHING ALONG A        PREDETERMINED PATH” and referred to herein as “the '092        disclosure”.

FIELD OF DISCLOSURE

The present disclosure relates to a method and apparatus for stitchingalong a predetermined path along a material. More specifically, variousembodiments of the present disclosure relate to an apparatus comprisingoptical and other sensors controlling a sewing machine to performvarious functions.

BACKGROUND

There is often a need to guide an item on a predetermined path along asubstrate for various applications; for example, cutting, gluing,welding, riveting, marking, paint, inspecting, sewing and 3D printing.

Guiding an item, such as a needle, on a desired path along a substrateis particularly significant for materials such as textiles. Knownsystems and methods suffer from several shortcomings. For example, theyrequire a lot of manual intervention. Further, they may require that thepath to be followed actually be on the substrate. In addition, the knownsystems and methods may be limited to certain styles, patterns and depthof substrates. In addition, they do not provide real-time,self-correction for correcting the position of the item when it gets offthe desired path along a substrate.

Therefore, there is a need to improve systems and methods for guiding anitem on a desired path along a substrate, such as a sheet of textilematerial.

BRIEF OVERVIEW

This brief overview is provided to introduce a selection of concepts ina simplified form that are further described below in the DetailedDescription. This brief overview is not intended to identify keyfeatures or essential features of the claimed subject matter. Nor isthis brief overview intended to be used to limit the claimed subjectmatter's scope.

One objective of the disclosed guiding apparatus may be to facilitateidentifying an object and it's positioning on a substrate, and thenperforming an action along a self-guided path in association with thatobject on the substrate.

Additionally, another objective of the guiding apparatus may be tocalibrate various components to correctly identify an object and it'spositioning on a substrate, and then perform an action along aself-guided path in association with that object on the substrate.

Further, another objective of the guiding apparatus may be to providedata to a sewing machine's controller to operate the sewing machine tostitch along a path associated with the object (e.g., the outline of theobject).

Additionally, another objective of the guiding apparatus may be todetermine in real time a path to perform certain actions such ascutting, gluing, welding, riveting, marking, paint, inspecting, sewingand 3D printing.

Further, another objective of the guiding apparatus may be to utilizeone or more of lighting units, optical sensors, controllers, and userinterface components to perform an action along a self-guided path inassociation with an object on the substrate.

Additionally, another objective of the guiding apparatus is to beremovably attachable to a machine, such as a sewing machine.

Accordingly, in order to fulfill one or more objectives, the guidingapparatus includes a support member configured to be mounted on themachine. For instance, as illustrated in FIGS. 1A-B, the support membermay be configured to be mounted on a face of the machine's body.

Additionally, the support member may support one or more of lightingunits, optical sensors, controllers, and user interface components.

Further, another objective of the guiding apparatus may be to functionin one or more of the multiple available modes include a calibrationmode, an inspection mode a teaching mode and an operation mode.

Further objective of the guiding apparatus may be to operate incalibration mode including testing illumination or sensor, calibrationstitching on a test fabric, comparing the calibration stitching withactual stitching, and making calculations for needle alignment.

Further objective of the guiding apparatus may be operating ininspection mode wherein an operator calibrates a machine, based onactually stitching a test badge to the test fabric. Note that the terms“badge” and “patch” are used interchangeably to refer in a non-limitingsense to fabric and non-fabric items that may be sewed onto, affixed to,or otherwise combined with a material.

Further objective of the guiding apparatus may be to operate in teachingmode to make sure that the sensors of the apparatus can distinguish abackground fabric against the material of the badge to be stitched on tothe fabric.

Further objective of the guiding apparatus may be to function inoperation mode wherein the sensors detect a patch overlaid on thefabric, and they control the sewing machine to automatically sew thepatch onto the fabric.

Further, another objective of the guiding apparatus is to integrate witha sewing machine to auto-detect materials to be stitched. Once detected,the guiding apparatus determines, in real-time, a sewing path, sewingstitch integrity, and stitch count. The guiding apparatus furthervalidates the specification for the aforementioned in real-time. Forexample, it can detect a badge on a fabric and stitch the badge to thefabric. Other materials can include carbon fibers, composite threads,human or animal tissue, and conductive thread.

Embodiments of the present disclosure provide a system comprising, butnot limited to, lighting and optical sensors, a controller, and a UIdisplay module. The system may connect to, for example, but not belimited to, a sewing machine with a controller. Although sewing machinesare used as some embodiments for descriptive purposes, the integrationof the light and optical sensors may be with other controller operateddevices, not just sewing machines. For examples, an optical sensorsystem may be used with laser, IR, 3-D vision, stereoscopic, gyroscopic,Ultrasonic, and other devices.

A general principle of the present disclosure involves the use of thelighting and optical sensor system to identify objects, theirplacement/positioning on a substrate, and to perform an action along aself-guided path in association with that object on the substrate. Oneexample is the stitching of an identified object onto the substrate. Inthis example, the optical system may provide data to a sewing machine'scontroller to operate the sewing machine. In turn, the machine may beenabled to stitch along a path associated with the object (e.g., theoutline of the object). Accordingly, embodiments of the presentdisclosure may be enabled to determine in real time a path to performcertain actions such as cutting, welding, riveting, gluing, 3D printing,etc.

Referring back to the example of sewing, embodiments of the presentdisclosure integrate with a sewing machine so as to be able toauto-detect materials to be stitched. Once detected, the system may beused to determine, in real-time, a sewing path, sewing stitch integrity,and stitch count. The system may further validate the specification forthe aforementioned in real-time. As one example, it can detect a badgeon a fabric and stitch the badge to the fabric. Other materials caninclude carbon fibers, composite threads, human or animal tissue,conductive thread, and the like.

Various embodiments of the present disclosure may operate in, but not belimited to, the following modes: 1) calibration, 2) inspection, 3)teaching, and 4) operation.

During calibration mode, the system may ensure that the optical sensorsare properly aligned with the sewing needle for control. As will bedetailed below, the stages involved in calibration include: 1)illumination/sensor testing, 2) calibration stitching on a test fabric(e.g., a white sheet), and 3) comparing the calibration stitching withactual stitching, and 4) making calculations for needle alignment. Inthis way, an operator may determine that the sewing machine's needle isproperly calibrated to its sensors.

During the inspection mode, a test badge may be stitched to a testfabric. In turn, the operator may again be enabled to calibrate themachine, but this time. The operator can then determine if the machinewas calibrated properly by seeing how the test badge was stitched to thefabric.

An objective of the teaching mode may be to ensure that the sensors areenabled to distinguish the background fabric (e.g., acolor/texture/pattern) with the material of the badge to be stitched onto the fabric. In other words, a teaching mode may be used to ensurethat the optical sensors and illumination components are properlyoptimized for the fabric type. Once the system determines the fabrictype, it can better detect the badge overlaid on the fabric and moreaccurately stitch the badge to the fabric. The teaching stage may beperformed once for each batch of fabrics, and may not need to beperformed each time.

Once the system is configured, the system may enter an operation mode.The operation mode may employ the system sensors to detect a badgeoverlaid on the fabric and control the sewing machine to automaticallysew the badge onto the fabric.

It should be understood that actions performed by an operator may bereplaced with a processing module embodied in the systems of the presentdisclosure.

Both the foregoing brief overview and the following detailed descriptionprovide examples and are explanatory only. Accordingly, the foregoingbrief overview and the following detailed description should not beconsidered to be restrictive. Further, features or variations may beprovided in addition to those set forth herein. For example, embodimentsmay be directed to various feature combinations and sub-combinationsdescribed in the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various embodiments of the presentdisclosure. The drawings contain representations of various trademarksand copyrights owned by the Applicants. In addition, the drawings maycontain other marks owned by third parties and are being used forillustrative purposes only. All rights to various trademarks andcopyrights represented herein, except those belonging to theirrespective owners, are vested in and the property of the Applicants. TheApplicants retain and reserve all rights in their trademarks andcopyrights included herein, and grant permission to reproduce thematerial only in connection with reproduction of the granted patent andfor no other purpose.

Furthermore, the drawings and their brief descriptions below may containtext or captions that may explain certain embodiments of the presentdisclosure. This text is included for illustrative, non-limiting,explanatory purposes of certain embodiments detailed in the presentdisclosure. In the drawings:

FIG. 1A illustrates a sectional views of a guiding apparatus inaccordance with various embodiments of the present disclosure.

FIG. 1B illustrates a perspective view of a support member of a guidingapparatus in accordance with various embodiments of the presentdisclosure.

FIG. 2 illustrates a perspective view of a guiding apparatus with acover and a test fabric placed within the stitching area of a sewingmachine in accordance with various embodiments of the presentdisclosure.

FIG. 3 illustrates a perspective view of a guiding apparatus attached toa machine in accordance with various embodiments of the presentdisclosure.

FIG. 4 is a block diagram of a computing unit of a guiding apparatus inaccordance with various embodiments of the present disclosure.

FIG. 5 illustrates an operating environment through which a guidingplatform consistent with various embodiments of the present disclosuremay be provided.

FIG. 6 is a flowchart related to a calibration method consistent withvarious embodiments of the present disclosure.

FIG. 7 is a flowchart related to an illumination calibration methodconsistent with various embodiments of the present disclosure.

FIG. 8 is a flowchart related to a vision calibration method consistentwith various embodiments of the present disclosure.

FIG. 9 is a flowchart related to a patch sewing method consistent withvarious embodiments of the present disclosure.

FIG. 10 is a flowchart related to another patch sewing method consistentwith various embodiments of the present disclosure.

FIG. 11 is a flowchart related to a background training methodconsistent with various embodiments of the present disclosure.

FIG. 12 is a flowchart related to a patch finding method consistent withvarious embodiments of the present disclosure.

FIG. 13 is a flowchart related to a sewing verification methodconsistent with various embodiments of the present disclosure.

FIG. 14 is a flowchart related to a garment loading method consistentwith various embodiments of the present disclosure.

FIG. 15 is a flowchart related to a stitch path generation methodconsistent with various embodiments of the present disclosure.

FIG. 16 is a platform for performing an action along a self-guided pathin association with an object on a substrate in accordance with variousembodiments of the present disclosure.

DETAILED DESCRIPTION

As a preliminary matter, it will readily be understood by one havingordinary skill in the relevant art that the present disclosure has broadutility and application. As should be understood, any embodiment mayincorporate only one or a plurality of the above-disclosed aspects ofthe disclosure and may further incorporate only one or a plurality ofthe above-disclosed features. Furthermore, any embodiment discussed andidentified as being “preferred” is considered to be part of a best modecontemplated for carrying out the embodiments of the present disclosure.Other embodiments also may be discussed for additional illustrativepurposes in providing a full and enabling disclosure. Moreover, manyembodiments, such as adaptations, variations, modifications, andequivalent arrangements, will be implicitly disclosed by the embodimentsdescribed herein and fall within the scope of the present disclosure.

Accordingly, while embodiments are described herein in detail inrelation to one or more embodiments, it is to be understood that thisdisclosure is illustrative and exemplary of the present disclosure, andare made merely for the purposes of providing a full and enablingdisclosure. The detailed disclosure herein of one or more embodiments isnot intended, nor is to be construed, to limit the scope of patentprotection afforded in any claim of a patent issuing here from, whichscope is to be defined by the claims and the equivalents thereof. It isnot intended that the scope of patent protection be defined by readinginto any claim a limitation found herein that does not explicitly appearin the claim itself.

Thus, for example, any sequence(s) and/or temporal order of stages ofvarious processes or methods that are described herein are illustrativeand not restrictive. Accordingly, it should be understood that, althoughstages of various processes or methods may be shown and described asbeing in a sequence or temporal order, the stages of any such processesor methods are not limited to being carried out in any particularsequence or order, absent an indication otherwise. Indeed, the stages insuch processes or methods generally may be carried out in variousdifferent sequences and orders while still falling within the scope ofthe present disclosure. Accordingly, it is intended that the scope ofpatent protection is to be defined by the issued claim(s) rather thanthe description set forth herein.

Additionally, it is important to note that each term used herein refersto that which an ordinary artisan would understand such term to meanbased on the contextual use of such term herein. To the extent that themeaning of a term used herein—as understood by the ordinary artisanbased on the contextual use of such term—differs in any way from anyparticular dictionary definition of such term, it is intended that themeaning of the term as understood by the ordinary artisan shouldprevail.

Regarding applicability of 35 U.S.C. § 112, ¶6, no claim element isintended to be read in accordance with this statutory provision unlessthe explicit phrase “means for” or “stage for” is actually used in suchclaim element, whereupon this statutory provision is intended to applyin the interpretation of such claim element.

Furthermore, it is important to note that, as used herein, “a” and “an”each generally denotes “at least one,” but does not exclude a pluralityunless the contextual use dictates otherwise. When used herein to join alist of items, “or” denotes “at least one of the items,” but does notexclude a plurality of items of the list. Finally, when used herein tojoin a list of items, “and” denotes “all of the items of the list.”

The following detailed description refers to the accompanying drawings.Wherever possible, the same reference numbers are used in the drawingsand the following description to refer to the same or similar elements.While many embodiments of the disclosure may be described,modifications, adaptations, and other implementations are possible. Forexample, substitutions, additions, or modifications may be made to theelements illustrated in the drawings, and the methods described hereinmay be modified by substituting, reordering, or adding stages to thedisclosed methods. Accordingly, the following detailed description doesnot limit the disclosure. Instead, the proper scope of the disclosure isdefined by the appended claims. The present disclosure contains headers.It should be understood that these headers are used as references andare not to be construed as limiting upon the subjected matter disclosedunder the header.

The present disclosure includes many aspects and features. Moreover,while many aspects and features relate to, and are described in, thecontext of stitching along a self-guided path, embodiments of thepresent disclosure are not limited to use only in this context. Forexample, the embodiments disclosed herein may apply to, but not belimited to, cutting, gluing, welding, riveting, marking, paint,inspecting, sewing and 3D printing.

I. Overview

Consistent with embodiments of the present disclosure, a guidingapparatus (or simply “apparatus”) 100 for use with a machine 110 for tofacilitating identifying an object and its positioning on a substrate,and then performing an action along a self-guided path in associationwith that object on the substrate may be provided. Further, alsoprovided is a platform configured to communicate with one or more of theguiding apparatus 100 and the machine 110 in order to facilitateperforming an action along a self-guided path. This overview is providedto introduce a selection of concepts in a simplified form that arefurther described below. This overview is not intended to identify keyfeatures or essential features of the claimed subject matter. Nor isthis overview intended to be used to limit the claimed subject matter'sscope.

The disclosed guiding apparatus 100 may include a support member 120configured to be attached to at least a portion of a machine 110; forexample, a sewing machine. The support member 120 may be removablyattached to the machine 110. Alternatively, the support member 120 maybe permanently attached to the machine 110. For example, as illustratedin FIG. 1A-B, the support member 120 may be in the form of a bracketthat may be secured to a face plate of a sewing machine 110 (near theend of the sewing machine with the needle). FIG. 1A illustrateselectronic components 150 of apparatus 100 mounted on the support member120. The electronic components 150 may include one or more of sensors,cameras, and lighting units (depicted in FIGS. 1A-B as part of sensorsystem 130) user interface components and wiring, as shown in moredetail in conjunction with FIGS. 5 and 16. The lighting units mayinclude one or more of LED, laser, infrared, ultrasonic, and otherradiation sources.

The guiding apparatus 100 may further include a cover 140 for supportmember 120. For example, FIGS. 1A, 2, and 3 show different views of acover 140 placed over the support member 120. A cover 140 can provide apleasing design to the apparatus 100 and the sewing machine 110.Further, the cover 140 can provide protection to the electroniccomponents 150 of the guiding apparatus 100.

As shown in FIG. 3, the guiding apparatus 100 may also include a userinterface component 310 installed on one of the support member 120 andthe machine 110. The user interface component 310 may include one ormore of a keyboard, a mouse, a trackpad, a touchscreen, or other userinterface to provide input to the guiding apparatus 100 and/or todisplay one or more output parameters.

Further, in some embodiments, the guiding apparatus 100 may be able tofunction in one or more of multiple available modes and sub-modes,including calibration mode(s), inspection mode(s), training mode(s), andoperation mode(s). For example, a calibration mode may include testingillumination, vision, or other sensors, capturing image or video data,visual projections, calibration stitching on a test fabric 210,comparing the calibration stitching with actual stitching, or makingcalculations for needle alignment.

An inspection mode can include an operator calibrating a machine 110,based on actually stitching a test badge to the test fabric 210. Theteaching mode can include making sure that sensors of the apparatus 100can distinguish a background fabric against the material of a patch tobe stitched onto the fabric. An operation mode can include detecting apatch overlaid on the fabric and controlling the sewing machine 110 toautomatically sew the badge onto the fabric.

In some embodiments, apparatus 100 may employ an augmented reality (AR)system to assist an operator with operation of the machine 110 (see the'002 disclosure). An augmented reality system may, for example, projectassistive features into the workspace such as garment or patch alignmentguides, instructions, status indicators, or virtual controls. In variousembodiments, an augmented reality system can be calibrated by projectingone or more fiducial markers or patterns onto a workspace in addition oralternative to other calibration processes.

In some embodiments, apparatus 100 may comprise a patch library, wherebythe system can be trained to recognize patches and perform appropriatesewing operations (see the '003 disclosure). In various embodiments, apatch library may be trained on one or more patches, storing sewingparameters such as patch visual features, patch contours, stitchpatterns, thread parameters (thickness etc.), and patch orientationrelative to garment/substrate.

In various embodiments consistent with an apparatus 100 comprising apatch library, a library of patches and names may be used to improvequality and reduce operator mistakes, especially in the area of sewingletters on a shirt, such as in sporting apparel. The operator may enterthe name, and then place the letters on the shirt to be sewn. The visionsystem may then find the letters as normal and auto-generate the stitchpatterns, but can also verify the correct placement of the individualpatches, verify they are all present and preventing misspellings.

Currently, edge contrast is used to find outline and holes of patches,but in an alternative—for example, an comprising a patch library—artworkor other graphical features inside the patch may be used to identify apre-taught patch. This can be useful when the edge of the patch issimilar in color to the background material, or the background materialis too complex to remove. The patch may be taught using a contrastingbackground to auto-detect the contours, just like in normal sewing, butthen the actual background material is placed in the machine and thepatch is found again, this time using the internal pattern of the patchto find it in the image. The location outline and holes of the patch arethen estimated from the pre-taught patch library item.

In some embodiments, guiding apparatus 100 may employ a “virtual lightcurtain” feature that can detect ingress of objects into the workspacearea (see the '004 disclosure). In various embodiments, guidingapparatus 100 may slow or halt sewing operation upon detecting a hand(e.g. the operator's) or an obstruction enter the workspace. In another,apparatus 100 may cue process stages by the entrance and exit ofoperator hands in the work area, For example, a stage may entail anoperator loading a garment in the workspace, which loading might itselfentail placing, orienting, flattening, and securing the article. Anapparatus 100 may be configured to detect these operations within thevirtual light curtain and commence further stages once hands and otherobstructions are clear of the workspace. In yet another, a virtual lightcurtain can interpret operator hand gestures as commands.

In some embodiments, apparatus 100 may have a patch tacking feature thatsews some preliminary stitches at strategic points on a patch in orderto secure it to the garment to which it is to be sewn (see the '005disclosure).

In some embodiments, guiding apparatus 100 may comprise a 3-dimensionalvision system (see the '006 disclosure). Such a system might involve,but is not limited to, for example: stereoscopic cameras, one or moresensors (electromagnetic, acoustic, ultrasonic, etc.) that aredepth-sensitive or otherwise capable of mapping spatial morphology ofpatches, or visual processing of 3-D features via controlled motion ofitems in the workspace. In various embodiments, a 3-D vision system canaid apparatus 100 in performing sewing operations on substrates havingcomplex, non-flat morphology—such as a shoe or a hat.

In various embodiments consistent with an apparatus 100 comprising 3-Dvision capabilities, stereo vision may be utilized to automaticallymeasure patch thickness, material thicknesses, and sagging. In additionor in alternative, some embodiments consistent with this disclosureutilize mono-vision, wherein the patch thickness and material thicknessmight be stored or manually entered as settings.

In some embodiments, apparatus 100 may include a multi-patch multi-view(MPMV) mode (see the '007 disclosure). In various embodiments, anapparatus 100 in MPMV mode can perform a “low-res” initial patch findingoperation, followed by a “high-res” patch edge finding operation foreach patch. An MPMV mode may improve accuracy by reducing stitchlocation errors related to perspective, patch height, and materialthickness.

In various embodiments consistent with an apparatus 100 comprising anMPMV mode, a high-resolution process may be employed to improve accuracyand reduce errors due to patch thickness variation or material sagging.In one , after initial processing, areas sensitive to height variations(e.g. near the edges of the image, where perspective view angle islarge) are flagged, and the machine 110 can automatically move the patchunder the camera to take additional images while positioned directlyover the previous locations that were near the edge of the image. Inaddition to minimizing errors due to perspective or material/patchthickness, found edges can be stitched or spliced together to create amore accurate stitch path.

In various embodiments, material sagging may be estimated to improvecalibration and projection of edges in the image into sewingcoordinates. The amount of sagging can vary with different materials andheavier patches. This information may be placed in a lookup table, andthe operator may specify what background material is being used. Thenpatch area can be estimated by the guiding apparatus to estimatesagging, and thereby improve overall accuracy.

In various embodiments, there is a multiplicity of potentialopportunities to include a stage of automatically detecting whetheroperator hands or another obstruction are in the workspace. A fewexamples include, but are not limited to: stage 1105 in FIG. 11 andstage 1425 in FIG. 14. In embodiments consistent with this disclosure,apparatus 100 can comprise obstruction-detecting features.

Both the foregoing overview and the following detailed descriptionprovide examples and are explanatory only. Accordingly, the foregoingoverview and the following detailed description should not be consideredto be restrictive. Further, features or variations may be provided inaddition to those set forth herein. For example, embodiments may bedirected to various feature combinations and sub-combinations describedin the detailed description.

II. Configuration

FIG. 4 is a block diagram of an exemplary computing unit 400 In variousembodiments of guiding apparatus 100. The computing unit 400 can includea processing unit 405 comprising a processor and a memory. For example,processor 405 may be a Jetson host processor from NVIDIA®. Further, anyother computing device such as a stationary device and a mobile,handheld device may be integrated.

The processing unit 405 can connect to camera head 410 (which caninclude lighting from e.g. an LED source), a user interface device 415(such as touch panel display), a power supply 420, a control box 425 ofthe sewing machine 110, and auxiliary or “service kit” items 430 (suchas Wi-Fi/Bluetooth communication modules, USB hub, Keyboard/Trackpad andCat-5 cables).

FIG. 5 illustrates one possible operating environment through which aguiding platform 500 consistent with embodiments of the presentdisclosure may be provided. By way of non-limiting example, platform 500may be hosted on a centralized server, such as, for example, a cloudcomputing service. Alternatively, in some embodiments, platform 500 maybe implemented on one or more of the computing units of the guidingapparatus 100.

A user 505 may access platform 500 through a software application. Thesoftware application may be embodied as, for example (but not be limitedto), a website, a web application, a desktop application, and a mobileapplication compatible with a computing device 1600. Further, a user 505could control one or more operations related to guide an item along apath while performing an operation as exemplarily illustrated.

Accordingly, platform 500 may be configured to communicate with each ofthe computing unit of the guiding apparatus 100 and the sewing machine110 over communication network 510. For instance, the platform 500 maybe configured to receive control inputs from user 505 in order toinitiate a guiding session.

Accordingly, in some embodiments, the platform 500 may communicate witha software application installed on the computing unit of the apparatus100. For example, in some instances, the platform 500 may send commandsignals to the software application in order to control guidingoperations such as perform calibration, perform inspection, performteaching and perform operation.

Further, in some instances platform 500 may also be configured totransmit configuration settings to be adopted while guiding along apath. Accordingly, the computing unit of guiding apparatus 100 may beconfigured to guide along a path based on the received configurationsettings. Any of platform(s) 500, apparatus(es) 100, machine(s) 110, andcomputing device(s) 1600 may be involved in the generation,transmission, storage, processing, enactment, or supervision of sewinginstructions and other operations.

As will be detailed with reference to FIG. 16 below, the computingdevice 1600 and/or the mobile device through which the platform 500 maybe accessed may comprise, but not be limited to, for example, a desktopcomputer, laptop, a tablet, or mobile telecommunications device.

III. Operation

The disclosed guiding apparatus 100 can work in one of multipleavailable modes: 1) calibration, 2) inspection, 3) teaching, and 4)operation. During calibration mode, the system can ensure that theoptical sensors are properly aligned with the sewing needle for control.The stages involved in calibration may include: 1) illumination/sensortesting, 2) calibration stitching on a test fabric 210 (e.g. a whitesheet), 3) comparing the calibration stitching with actual stitching,and 4) making calculations for needle alignment. In this way, apparatus100 determines that the sewing machine's 110 needle is calibrated withits sensors. The calibration mode is explained in further details inconjunction with FIGS. 6-8.

FIGS. 6-15 are flowcharts setting forth general stages involved inmethods consistent with various embodiments of the present disclosure.Methods 600-1500 may be implemented using a computing device 1600 asdescribed in more detail below with respect to FIG. 16 below, and may bereferred to as “computer implemented methods.”

Although the methods 600-1500 have been described to be performed bycomputing device 1600, it should be understood that, in someembodiments, different operations may be performed by differentnetworked elements in operative communication with computing device1600.

Various stages in the methods 600-1500 may be performed by at least oneof a sewing machine 110, its vision system stage, and its operator. Anoperator may perform stages using various interface elements availableon one or both of the guiding apparatus 100 and the sewing machine 110.In some embodiments, a sewing machine 110 may have foot pedals: LeftFoot Pedal (LFP) and Right Foot Pedal (RFP).

Further, one of the guiding apparatus 100 and the sewing machine 110 mayhave two keys on an operator panel: F1 key (or “Tension+” key) and F2key (or “Tension−” key). The keys Tension (+) and Tension (−) may eachhave their own respective functions when not operating in calibrationmode. However, apparatus 100 can have its own controller that interceptscommunications from the sewing machine 110 controller, enabling it tooverride the functionality of Tension (+) and Tension (−) based on thecurrent “mode” of operation. In various embodiments, a user interfacecomponent 310 or a projection from the apparatus 100 may provide anoperator with, e.g., instructions on what button to press next, whatactions to take, where to place garments and patches, error messagesrelated to placement, quality, obstructions in the workspace, etc.

Note that the calibration and other methods explained in conjunctionwith FIGS. 6-15 may be enhanced with the option of less humaninteraction or replacement of human involvement or based upon desiredfunctions presented to the lighting and optical sensor system (alsoknown as a “VGM”) by an integrated machine/system or data compiled andanalyzed within a production facility (IoT).

600. Calibration

FIG. 6 is a flowchart related to a calibration method 600 consistentwith various embodiments of the present disclosure. Calibration beginsat stage 601. First, an operator of the sewing machine 110 may entercalibration mode using, e.g., a user interface component 310 (such as atouch interface system), a gesture recognition feature, a mobile device,etc. The guiding apparatus 100 can then enter calibration mode. In someembodiments, apparatus 100 may perform a sequence of stages, including astage 605 of homing the machine 110 and a stage 610 of moving toinspection position.

Next, at stage 615, the operator can insert a calibration target—forexample, test fabric 210, which may be a white paper—and at stage 620can secure the calibration target. Note that in the context of method600 and other methods disclosed herein, stages that involve “inserting”,“placing”, “loading”, or “securing” may involve an operator or thesystem itself checking, opening, and closing clamps, or other similar orrelated processes.

In an example, FIG. 2 shows a test fabric 210 placed within thestitching area of the sewing machine. FIG. 2 shows a test fabric 210with “holes” made during an earlier test. In some embodiments, testfabric 210 can be a blank sheet with no holes. The operator may inserttest fabric 210 before entering calibration mode. The test fabric 210may also have a black backing material behind a white top. The blackbacking fabric can fill in the holes created by the needle, providinghigh contrast features for later vision calibration.

Thereafter, the operator can initiate calibration. For example, theoperator may press a button (F1 key) on the operator panel to begincalibration. The calibration mode can include two phases. Two-phasecalibration can be advantageous in various embodiments due to theprotocol of the interface between guiding apparatus 100 and the sewingmachine's 110 control board.

Accordingly, at stage 700, method 600 can enter a first phase, which isthe calibrate illumination mode shown in FIG. 7. At stage 625,calibration success is checked. If phase 1 of calibration is notsuccessful, then an operator may adjust settings at stage 630 and thenreturn to stage 700, repeating the method shown in FIG. 7. However, ifphase 1 of calibration is successful, then process may proceed to phase2 of calibration mode shown in FIG. 8. The operator may initiate phase 2by pressing a button (such as F2 key). The method 600 can then enterphase 2 calibration.

In preparation for the phase 2 calibration, in some embodiments a gridpattern may be generated at stage 635. A grid pattern can be a uniformgrid of dots that fits within the workspace, while maintaining a clearborder region around the grid and the clamping mechanism. The gridpattern's sewfile can be sent for sewing at stage 640, and the grid sewn(possibly threadlessly) at stage 645. This may involve the needle pokinga series of holes in a grid pattern (as shown in FIG. 2).

Apparatus 100 may then move to inspection position at stage 650,whereafter the second phase, which is the calibrate vision mode shown inFIG. 8, can commence at stage 800. This can involve a “Check” stage todetermine how the calibration grid pattern matches up with the expectedresults. If the phase 2 of calibration is not successful, then themethod shown in FIG. 8 may be repeated. If successful, method 600 canfinish at stage 699. Prior to finishing, an operator may provide a“Final OK” (e.g. for safety purposes). For example, the operator maypress a foot pedal to give the final OK command.

700. Calibrate Illumination

FIG. 7 is a flowchart related to a calibration method 700 consistentwith various embodiments of the present disclosure. Method 700 cancomprise a first calibration phase of method 600. Method 700 begins atstage 701. It can be initiated by an operator; for example, the operatormay press the F1 key to initiate phase 1. If the calibration mode isactive, then phase 1 begins. One goal of phase 1 can be to calibrate thelighting/illumination of the guiding apparatus. This may includecontrolling lighting units and making illumination as uniform aspossible, such that vision system sees white paper.

At stage 705, apparatus 100 can initialize defaults. At stage 710,lighting units can be synced with the frequency of ambient lighting(which may be subject to oscillations related to, e.g., the 50 Hz or 60Hz frequency of the power grid). Next, at stage 715, apparatus 100 canacquire an image of the white paper via camera of the guiding apparatus.The image parameters can then be analyzed at stage 720 to determinewhether the acquired image is acceptable (whether illumination issufficiently uniform, proper white balance, etc.). If the image isdetermined at stage 725 to have an issue—for example, insufficientlyuniformity or too dark—adjustments can be made to illumination banks atstage 730 (to improve uniformity) and to exposure and gain at stage 735(to improve brightness and white balance). Other adjustments may be madeas well. Method 700 can then return to stage 715, and further iterationsof adjustments made if necessary. In various embodiments, adjustmentsare made until certain threshold parameters are met for one or more ofexposure, gain, and intensity.

Thereafter, based on the adjustments made, the method 700 can computeoptimal values for exposure, gain, and intensity at stage 740. Thecalculated values are received, and reported back for next command. Atstage 745, the system can learn and retain non-uniform illuminationinformation—i.e. that which can't be corrected by adjustment stages 730,735, or others (if any).

800. Calibrate Vision

FIG. 8 is a flowchart related to a calibration method 800 consistentwith various embodiments of the present disclosure. In some embodiments,calibration stages (calibrate illumination, calibrate vision, andpotentially other calibration stages like calibrate AR) may be performedin one phase, in a different order, or with additional or fewer stages.The method 800 can include an operator initiating the phase 2. Forexample, the operator may press the F2 key to initiate phase 2. If thecalibration mode is active, then the phase 2 begins at stage 801.

The method 800 may include initializing image capture at stage 805 andacquiring an image of the sewn grid at stage 810 to verify Illuminationto make sure no variables were changed since phase 1 calibration. Theacquired image can be filtered at stage 815 to accentuate the holepattern. Then at stage 820 each hole and its world coordinate can beuniquely identified. In some embodiments, hole patterns may besupplemented or replaced by other pattern elements, such as ARprojections or other indicia. In such embodiments, coordinates can beidentified for these pattern elements.

Based on the image and world coordinates of the identified dots orpattern elements, the method 800 can include performing one or both ofcalibrating for distortion caused by the optics at stage 825, anddetermining the location of the camera relative to the origin of thesewing machine workspace (needle) at stage 830. Finally, visioncalibration is complete at stage 899.

900. Sew Patch(es)

FIG. 9 is a flowchart related to a patch sewing and inspection method900 consistent with various embodiments of the present disclosure.Method 900 can include actually stitching a badge to the substratefabric. In various embodiments, an operator can determine if the machine110 was calibrated properly by seeing how the badge was stitched to thefabric.

Method 900 begins at stage 901, entering run mode at stage 905. Anoperator can load a garment at stage 1400, according to the methodillustrated in FIG. 14. An operator or the system may then adjustsettings at stage 915, after which the system can be taught the garmentat stage 920. At stage 925 the machine can home, and then at stage 930move to an inspection position. The guiding apparatus 100 can then trainthe background of the garment at stage 1100, according to the methodillustrated in FIG. 1100. If training is determined at stage 935 to havebeen unsuccessful, method 900 can return to an earlier stage (e.g. stage905) to iterate on the process toward a successful background training.

If background training was successful, the one or more patches to besewn can be placed and oriented at stage 940. At stage 1200, the visionsystem of the apparatus 100 can implement a find patches method asillustrated in FIG. 1200. The system may then show the results of stage1200 patch finding at stage 945. If, at stage 950, it is determined thatno patches were found, method 900 can return to stage 940 to place andproperly orient patches to be sewn. If there is at least one patchfound, apparatus 100 can send the sewfile to machine 110, move over theinitial stitch at stage 960, and sew the one or more patches to thegarment at stage 965. Following sewing, apparatus 100 can move intoinspection position at stage 970. Sewing can be verified at stage 1300,according to the method illustrated in FIG. 13.

If sewing does not verify, remedial stages may be taken, includingreturning to any appropriate stage or sub-process of method 900. The sewpatch(es) method 900 is complete at stage 999.

1000. Sew Patch(es)

FIG. 10 is a flowchart related to a patch sewing and inspection method1000 consistent with various embodiments of the present disclosure.Method 1000 is similar to method 900, differing in that some stages maybe performed in a different order, and some stages may be performed inconformance with different embodiments (having e.g. a greater amount ordifferent mode of automation).

Method 1000 begins at stage 1001 and may commence with machine homing atstage 1005 (stage 925 in method 900), followed by moving to inspectionposition at stage 1010 (c.f. stage 930). Next, at stage 1015, the systemcan enter run mode 1015, followed by garment loading at stage 1400(according to FIG. 14) and background training at stage 1100 (accordingto FIG. 11).

Method 1000 can include an auto-find patches process at stage 1020. Thiscan be used in conjunction with a patch library (whereby the correctpatch(es) for this sewing job, and their parameters, may be stored), inembodiments comprising such a feature. In various embodiments, thisstage and others in method 1000 may be performed in conjunction with anaugmented reality projection system. For example, patches may beauto-found in a patch library and guides therefor projected onto thesubstrate to facilitate patch placement.

At stage 1025, background training can be assessed, and if furthertraining/retraining is determined necessary, an operator or the systemcan adjust settings at stage 1030 and return to stage 1100 for iterativetraining and adjustment. If no retraining is necessary, at stage 1035the patch(es) to be sewn can be placed. As with method 900, a findpatches stage 1200 can be performed, followed by results 1040, anddetermination of at least one found patch 1045 (which returns to stage1035 for placement if no patches are found). If at least one patch isfound, apparatus 100 can send the sewfile 1050 and sew the patch(es)1055.

Following sewing, at stage 1060, apparatus 100 can move into inspectionposition and verify sewing at stage 1300 (according to FIG. 13).Remedial stages may be taken if necessary, and method 1000 is completeat stage 1099. It should be noted that methods 900 and 1000, along withsew patch methods extant in various embodiments, may return to loadadditional badges or new garments, as many times as necessary.

1100. Train Background

FIG. 11 is a flowchart related to a background training method 1100consistent with various embodiments of the present disclosure. Theteaching method 1100 can be used to make sure the sensors of the guidingapparatus 100 can distinguish the background fabric (e.g., acolor/texture/pattern) with the material of the badge to be stitched onto the fabric. Essentially, this is to ensure the optical sensors andillumination components are properly optimized for the fabric type. Oncethe guiding apparatus 100 knows the fabric type, it can better detectthe badge overlaid on the fabric and more accurately stitch the badge tothe fabric. Further, in various , the teaching stage may be performedonce for each batch of fabrics, and does not need to be performed eachtime.

Method 1100 begins at stage 1101. At stage 1105, an operator or thesystem can determine whether an obstruction is found in the workspace,such as the operator's hands, a stray piece of fabric, or debris. If anobstruction is found, it may be removed at stage 1110 and the processstarted again at stage 1105. If no obstruction is found, at stage 1115 aset of one or more images can be captured by a camera system ofapparatus 100. The image set may cover a range of parameter values asrespects the workspace—such as exposure values, gain values, andillumination values. In various embodiments, a goal may be to cover alarge swath or the entirety of the parameter space of operatingconditions and possible illumination conditions.

At stage 1120, the image set can be analyzed to detect the presence ofe.g. high-sheen materials that may interfere with the vision system. Atthis stage, other visually problematic conditions may be detected, suchas transparency, translucency, reflectivity, or perspective-variantvisual characteristics (e.g. chromaticity). Method 1100 concludes atstage 1199.

1200. Find Patch(es)

FIG. 12 is a flowchart related to an operation method 1200 consistentwith various embodiments of the present disclosure. The operation method1200 can include sensors detecting a badge overlaid on the fabric, andthen controlling the sewing machine to automatically sew the badge ontothe fabric. In a further , the operation method 1200 may includeproviding real-time, self-correction for correcting the position of theneedle when it gets off the desired path along a fabric.

Method 1200 begins at stage 1201, whereupon apparatus 100 can captureimages of the workspace at stage 1205. Parameters such as exposure,illumination, and gain may be adjusted for optimal patch recognition(e.g. contrast with background material). At stage 1210 an idealbackground image can be generated, and the image can be processed forremoval at stage 1215 to remove background features (e.g. colors,patterns) from the image—again maximizing patch isolation fromextraneous background features.

Method 1200 can then at stage 1220 identify one or more patchesremaining following background removal in stage 1215. The ID'd patch(es)may then be filtered by size and shape at stage 1225 to remove unwantednoise and flaws. In various embodiments consistent with an apparatus 100having a patch library feature, ID'd patches may be matched againstknown patches in the library. At stage 1500, stitch paths may beautogenerated in accordance with the stages illustrated in FIG. 15.Stitch parameters may be applied at stage 1230. Method 1200 finishes atstage 1299.

1300. Verify Sewing

FIG. 13 is a flowchart related to a verification method 1300 consistentwith various embodiments of the present disclosure. The method 1300 canhelp in quality checks on an on-going basis. The method 1300 begins atstage 1301, and can next proceed to capturing image an image at stage1305. The image can be analyzed at stage 1310 to detect shift of sewnpatch(es). If patch(es) are shifted too much, then the operator may bealerted to indicate possible maintenance issues at stage 1315. Thisshifting can occur due to many factors, such as improper tacking ofpatch to background material prior to sewing, or background materialstretching or drawing up as patch(es) are sewn. Thereafter, the method1300 can include a stage 1320 checking for thread defects, such asthread breakage, and alert the operator as to any potential maintenanceissues at stage 1325. The images and analyzes performed by method 1300may be logged for customer quality system at stage 1330. Method 1300concludes at stage 1399.

1400. Load Garment

FIG. 14 is a flowchart related to a garment loading method 1400consistent with various embodiments of the present disclosure. Loadingcan begin at stage 1401. At stage 1405, an operator, or apparatus 100,can determine if a clamp (or similar securing mechanism) is open orotherwise available to load a garment. If the clamp is not open, atstage 1410 the clamp can be opened, after which method 1400 returns tostage 1405.

If the clamp is open, at stage 1415 a garment can be placed and orientedin the workspace. At stage 1420 the clamp can be closed to secure thegarment. At stage 1425 an operator, or apparatus 100 (e.g. in aconfiguration employing a virtual light curtain), can determine if thereare any obstructions in the workspace that might interfere with sewingprocesses. If so, at stage 1430, any obstructions can be cleared andmethod 1400 can return to stage 1425, finishing at stage 1499.

1500. Autogenerate Stitch Paths

FIG. 15 is a flowchart related to a stitch path generation method 1500consistent with various embodiments of the present disclosure. Themethod 1500 begins at stage 1501. At stage 1505, apparatus 100 can findpatch outlines (contours, edges) and any holes. At stage 1510, thesystem can determine any “false” holes that the vision systemincorrectly identified as part of the garment. One reason this mighthappen is a color match between that area of the patch and thebackground material. Other reasons might include patch surface qualities(e.g. sheen, reflectiveness, specularity) or topological complexity.Determination of false holes may be achieved in a mono-vision system.Alternatively or in addition, such a determination may be made inembodiments with 3-D, stereoscopic, MPMV, or motion-based visionaspects.

At stage 1515, smooth patch edges can be analyzed. At stage 1520, patchimage, contours, and potentially material thickness data (manually orautomatically generated) can be converted into sewing coordinatessuitable for sewing by machine 110. At stage 1525, corners and areas ofhigh curvature may be identified so that the system can take appropriatestages to sew potentially problematic areas.

IV. Platform Architecture

The platform 500 may be embodied as, for example, but not be limited to,a website, a web application, a desktop application, and a mobileapplication compatible with a computing device. Moreover, platform 500may be hosted on a centralized server, such as, for example, a cloudcomputing service. Alternatively, platform 500 may be implemented in oneor more of the plurality of mobile devices. Although methods disclosedherein have been described to be performed by a computing device 1600,it should be understood that, in some embodiments, different operationsmay be performed by different networked elements in operativecommunication with computing device 1600. The computing device 1600 maycomprise, but not be limited to, a desktop computer, laptop, a tablet,or mobile telecommunications device.

Embodiments of the present disclosure may comprise a system having amemory storage and a processing unit. The processing unit coupled to thememory storage, wherein the processing unit is configured to perform thestages of methods disclosed herein.

FIG. 16 is a block diagram of a system including computing device 1600.consistent with various embodiments of the present disclosure, theaforementioned memory storage and processing unit may be implemented ina computing device, such as computing device 1600 of FIG. 16. Anysuitable combination of hardware, software, or firmware may be used toimplement the memory storage and processing unit. For example, thememory storage and processing unit may be implemented with computingdevice 1600 or any of other computing devices 1618, in combination withcomputing device 1600. The aforementioned system, device, and processorsare examples and other systems, devices, and processors may comprise theaforementioned memory storage and processing unit, consistent withvarious embodiments of the present disclosure.

With reference to FIG. 16, a system consistent with various embodimentsof the present disclosure may include a computing device, such ascomputing device 1600. In a basic configuration, computing device 1600may include at least one processing unit 1602 and a system memory 1604.Depending on the configuration and type of computing device, systemmemory 1604 may comprise, but is not limited to, volatile (e.g. randomaccess memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flashmemory, or any combination. System memory 1604 may include operatingsystem 1605, one or more programming modules 1606, and may include aprogram data 1607. Operating system 1605, for example, may be suitablefor controlling computing device 1600's operation. In one, programmingmodules 1606 may include formatting and displaying information to theuser, enabling scrolling, and formulating and transmitting messages.Furthermore, embodiments of the disclosure may be practiced inconjunction with a graphics library, other operating systems, or anyother application program and is not limited to any particularapplication or system. This basic configuration is illustrated in FIG.16 by those components within a dashed line 1608.

Computing device 1600 may have additional features or functionality. Forexample, computing device 1600 may also include additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 16 by a removable storage 1609 and a non-removable storage 1610.Computer storage media may include volatile and nonvolatile, removableand non-removable media implemented in any method or technology forstorage of information, such as computer readable instructions, datastructures, program modules, or other data. System memory 1604,removable storage 1609, and non-removable storage 1610 are all computerstorage media examples (i.e., memory storage.) Computer storage mediamay include, but is not limited to, RAM, ROM, electrically erasableread-only memory (EEPROM), flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to storeinformation and which can be accessed by computing device 1600. Any suchcomputer storage media may be part of device 1600. Computing device 1600may also have input device(s) 1612 such as a keyboard, a mouse, a pen, asound input device, a touch input device, a camera, a sensor, etc.Output device(s) 1614 such as a display, speakers, a printer, etc. mayalso be included. The aforementioned devices are examples and others maybe used.

Computing device 1600 may also contain a communication connection 1616that may allow device 1600 to communicate with other computing devices1618, such as over a network in a distributed computing environment, forexample, an intranet or the Internet. Communication connection 1616 isone example of communication media. Communication media may typically beembodied by computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” may describe a signal that hasone or more characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media may include wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, radiofrequency (RF), infrared, and other wireless media. The term computerreadable media as used herein may include both storage media andcommunication media.

As stated above, a number of program modules 1606 and data files may bestored in system memory 1604, including operating system 1605. Whileexecuting on processing unit 1602, programming modules 1606 (e.g.,scrolling enablement application 1620) may perform processes including,for example, one or more of method stages as described above. Theaforementioned process is an example, and processing unit 1602 mayperform other processes. Other programming modules that may be used inaccordance with embodiments of the present disclosure may includeelectronic mail and contacts applications, word processing applications,spreadsheet applications, database applications, slide presentationapplications, drawing or computer-aided application programs, etc.

Generally, consistent with embodiments of the disclosure, programmodules may include routines, programs, components, data structures, andother types of structures that may perform particular tasks or that mayimplement particular abstract data types. Moreover, embodiments of thedisclosure may be practiced with other computer system configurations,including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like. Embodiments of thedisclosure may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Furthermore, embodiments of the disclosure may be practiced in anelectrical circuit comprising discrete electronic elements, packaged orintegrated electronic chips containing logic gates, a circuit utilizinga microprocessor, or on a single chip containing electronic elements ormicroprocessors. Embodiments of the disclosure may also be practicedusing other technologies capable of performing logical operations suchas, for example, AND, OR, and NOT, including but not limited tomechanical, optical, fluidic, and quantum technologies. In addition,embodiments of the disclosure may be practiced within a general-purposecomputer or in any other circuits or systems.

Embodiments of the disclosure, for example, may be implemented as acomputer process (method), a computing system, or as an article ofmanufacture, such as a computer program product or computer readablemedia. The computer program product may be a computer storage mediareadable by a computer system and encoding a computer program ofinstructions for executing a computer process. The computer programproduct may also be a propagated signal on a carrier readable by acomputing system and encoding a computer program of instructions forexecuting a computer process. Accordingly, the present disclosure may beembodied in hardware and/or in software (including firmware, residentsoftware, micro-code, etc.). In other words, embodiments of the presentdisclosure may take the form of a computer program product on acomputer-usable or computer-readable storage medium havingcomputer-usable or computer-readable program code embodied in the mediumfor use by or in connection with an instruction execution system. Acomputer-usable or computer-readable medium may be any medium that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific computer-readable medium examples (anon-exhaustive list), the computer-readable medium may include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, and a portable compact disc read-only memory(CD-ROM). Note that the computer-usable or computer-readable mediumcould even be paper or another suitable medium upon which the program isprinted, as the program can be electronically captured, via, forinstance, optical scanning of the paper or other medium, then compiled,interpreted, or otherwise processed in a suitable manner, if necessary,and then stored in a computer memory.

Embodiments of the present disclosure, for example, are described abovewith reference to block diagrams and/or operational illustrations ofmethods, systems, and computer program products according to embodimentsof the disclosure. The functions/acts noted in the blocks may occur outof the order as shown in any flowchart. For example, two blocks shown insuccession may in fact be executed substantially concurrently or theblocks may sometimes be executed in the reverse order, depending uponthe functionality/acts involved. While certain embodiments of thedisclosure have been described, other embodiments may exist.Furthermore, although embodiments of the present disclosure have beendescribed as being associated with data stored in memory and otherstorage mediums, data can also be stored on or read from other types ofcomputer-readable media, such as secondary storage devices, like harddisks, solid state storage (e.g., USB drive), or a CD-ROM, a carrierwave from the Internet, or other forms of RAM or ROM. Further, thedisclosed methods' stages may be modified in any manner, including byreordering stages and/or inserting or deleting stages, without departingfrom the disclosure.

V. Claims

While the specification includes examples, the disclosure's scope isindicated by the following claims. Furthermore, while the specificationhas been described in language specific to structural features and/ormethodological acts, the claims are not limited to the features or actsdescribed above. Rather, the specific features and acts described aboveare disclosed as example for embodiments of the disclosure.

Insofar as the description above and the accompanying drawing discloseany additional subject matter that is not within the scope of the claimsbelow, the disclosures are not dedicated to the public and the right tofile one or more applications to claims such additional disclosures isreserved.

The following is claimed:
 1. A guiding apparatus for use with a machineto facilitate a performance of an action along a self-guided path on asubstrate, the guiding apparatus comprising: a support member configuredto be attached to at least a portion of the machine; a plurality ofcomponents mounted on the support member, the plurality of componentscomprising: one or more of lighting units, optical sensors, and userinterface components; a processing module configured to operate themachine in order to: identify an object, obtain a position of the objecton the substrate, and perform the action along the self-guided path inassociation with the object on the substrate; and wherein the processingmodule is configured to function in a calibration mode in order to:perform calibration stitching on a calibration substrate, analyze thecalibration stitching on the calibration substrate, and performcalculations for needle alignment.
 2. The guiding apparatus of claim 1,wherein the calibration mode is further operative to facilitate acalibration of one or more of the lighting units, the optical sensors,the controllers, and the user interface components.
 3. The guidingapparatus of claim 1, wherein the machine is one of a cutter, a weldingmachine, a riveting machine, a marking machine, a paint machine, asewing machine and a 3D printer.
 4. The guiding apparatus of claim 3,further comprising a communication module configured to provide data toa sewing machine's controller to operate the sewing machine to stitchalong a path associated with the object.
 5. The guiding apparatus ofclaim 1, wherein the processing module is further configured todetermine in real time a path to perform one or more of cutting, gluing,welding, riveting, marking, paint, inspecting, sewing and 3D printing.6. The guiding apparatus of claim 5, wherein the processing module isconfigured to function in one or more of the multiple available modesfurther comprising an inspection mode, a training mode, and an operationmode.
 7. The guiding apparatus of claim 6, wherein the calibration modefurther comprises enabling the processing module to: test theillumination of at least one optical sensor.
 8. The guiding apparatus ofclaim 6, wherein the inspection mode is configured to enable an operatorto verify the calibration of the machine, based on an observation of anactually stitching of a test object.
 9. The guiding apparatus of claim6, wherein the training mode is configured to enable a review that theone or more optical sensors of the apparatus distinguish a backgroundfabric against the material of the object.
 10. The guiding apparatus ofclaim 6, wherein the operation mode comprises enabling the processingmodule to a detect the object overlaid on the substrate, and control themachine to automatically sew the object onto the substrate.
 11. Acomputer implemented method to facilitate a performance of an actionalong a self-guided path on a substrate, the computer implemented methodcomprising: calibrating an illumination system used to illuminate anobject on the substrate; creating a calibration grid pattern; sewing thecalibration grid pattern; calibrating, based on the calibration gridpattern, for the action to be performed on the object and the substratealong the self-guided path: identifying the object on the substrate;obtaining position of the object on the substrate; and performing theaction along the self-guided path in association with that object on thesubstrate.
 12. The computer implemented method of claim 11, furthercomprising calibrating one or more of lighting units, optical sensors,controllers, and user interface components.
 13. The computer implementedmethod of claim 12, further comprising: synchronizing with the frequencyof ambient lighting; acquiring an image of a calibration target;analyzing the image for uniformity; iteratively adjusting, upon making adetermination of insufficient uniformity, at least one of the output ofa lighting unit, an exposure level, and a gain level, and returning tothe stage of analyzing the image for uniformity; determining, uponmaking a determination of sufficient uniformity, a set of optimalsettings; determining whether any non-uniform information is present;and storing the set of optimal settings and any non-uniform informationin a non-transient computer-readable medium.
 14. The computerimplemented method of claim 12, further comprising: capturing, with animage capture device, an image of calibration grid pattern; filteringthe image to accentuate pattern elements; identifying coordinates forone or more pattern elements; and determining location of the imagecapture device relative to an origin point.
 15. The computer implementedmethod of claim 11, further comprising providing one or more modes ofoperation, wherein the one or more modes include at least one of acalibration mode, an inspection mode, a training mode, and an operationmode.
 16. The computer implemented method of claim 11, wherein theperforming the action along the self-guided path on a substrate includesa computer implemented sew patch procedure comprising: loading agarment; learning a garment background; placing one or more patches tobe sewn onto the garment; detecting the one or more patches; sewing theone or more patches; and verifying the sewing of the one or morepatches.
 17. A system for performing an action along a self-guided pathon a substrate comprising: a sewing machine; a guiding apparatus; avision system; and wherein the vision system comprises one or morecomputing devices capable of facilitating communication between thesewing machine and the guiding apparatus and implementing sewinginstructions, wherein the instructions enable the one or more computingdevices to operate the sewing machine and the guiding apparatus in orderto: receive a garment; train a garment background; receive one or morepatches to be sewn onto the garment; detect the one or more patches; sewthe one or more patches; and verify the sewing of the one or morepatches.
 18. The system of claim 17, further wherein the system isconfigured to calibrate one or more of lighting units, optical sensors,controllers, and user interface components.
 19. The system of claim 17,wherein the vision system comprises stereoscopic cameras.